﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace PSE.AuditLogging.Common.Exception
{
    public class UnavailableRepositoryException : System.Exception
    {
        public string RespositoryId
        {
            get;
            set;
        }

        public UnavailableRepositoryException()
            : base()
        {
        }

        public UnavailableRepositoryException(string message)
            : base(message)
        {
        }
        protected UnavailableRepositoryException(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
        }
        public UnavailableRepositoryException(string repositoryId, System.Exception innerException)
            : this("The repository is unavailable. See the inner exception for more details.", repositoryId, innerException)
        {
        }

        public UnavailableRepositoryException(string message, string repositoryId, System.Exception innerException)
            : base(message, innerException)
        {
            this.RespositoryId = repositoryId;
        }
    }
}
